import { App } from "vue"; // 导入 Vue 的 App 类型
import Teek, { useCopyBanner } from "vitepress-theme-teek"; // 新增激活复制文本横幅提示
import TeekLayoutProvider from "./components/TeekLayoutProvider.vue";
import { ls, ss } from "./ssr-safe"; // 解决打包ssr验证报错问题
import { enhanceAppWithTabs } from "vitepress-plugin-tabs/client"; //引入tabs选项卡md内容插件
// tabs选项卡md内容插件，如果报错，无视即可~它能正常运行

// 🔽 将 多样化的功能 从 shiroki.ts 里引入
import { SLink } from "./components/shiroki";
// // 这里的多样化的功能已经开启：时光出品的友链组件

// Teek 本地主题包引用（与 Teek 在线主题包引用 二选一）
// 当前引入文件为 scss，需要执行 pnpm add sass，如果不想安装额外依赖，可以直接引入 Teek 已经构建好的 css 文件，请看 https://vp.teek.top/styles-plus.html
import "@teek/theme-chalk/vp-plus/code-block-mobile.scss"; // 移动端代码块样式优化
import "@teek/theme-chalk/vp-plus/sidebar.scss"; // 侧边栏优化
import "@teek/theme-chalk/vp-plus/nav.scss"; // 导航栏优化
import "@teek/theme-chalk/vp-plus/aside.scss"; // 右侧目栏录文字悬停和激活样式
import "@teek/theme-chalk/vp-plus/doc-h1-gradient.scss"; // 一级标题渐变色
import "@teek/theme-chalk/vp-plus/table.scss"; // 表格样式调整，去掉单元格之间的线条
import "@teek/theme-chalk/vp-plus/mark.scss"; // <mark></mark> 样式
import "@teek/theme-chalk/vp-plus/blockquote.scss"; // > 引用块样式
import "@teek/theme-chalk/vp-plus/index-rainbow.scss"; // 首页图片彩虹动画
import "@teek/theme-chalk/tk-plus/banner-desc-gradient.scss"; // 博客风格 Banner 描述渐变样式
// import "@teek/theme-chalk/tk-plus/home-card-hover.scss"; // 首页卡片悬停效果
import "@teek/theme-chalk/tk-plus/fade-up-animation.scss"; // 首次加载的动画效果

// Teek 在线主题包引用（需安装 Teek 在线版本）
// import "vitepress-theme-teek/index.css";
// import "vitepress-theme-teek/theme-chalk/vp-plus/code-block-mobile.scss";
// import "vitepress-theme-teek/theme-chalk/vp-plus/sidebar.scss";
// import "vitepress-theme-teek/theme-chalk/vp-plus/nav.scss";
// import "vitepress-theme-teek/theme-chalk/vp-plus/aside.scss";
// import "vitepress-theme-teek/theme-chalk/vp-plus/doc-h1-gradient.scss";
// import "vitepress-theme-teek/theme-chalk/vp-plus/table.scss";
// import "vitepress-theme-teek/theme-chalk/vp-plus/mark.scss";
// import "vitepress-theme-teek/theme-chalk/vp-plus/blockquote.scss";
// import "vitepress-theme-teek/theme-chalk/vp-plus/index-rainbow.scss";
// import "vitepress-theme-teek/theme-chalk/tk-plus/banner-desc-gradient.scss";
// import "vitepress-theme-teek/theme-chalk/tk-plus/home-card-hover.scss";
// import "vitepress-theme-teek/theme-chalk/tk-plus/fade-up-animation.scss";

import "./styles/code-bg.scss";
import "./styles/iframe.scss";
import "./styles/sidebar-icon.scss"; // 引入目录有图标样式，注释就能关闭这个功能

// @shiroki 配置管理
import { activateShiroki } from "@shiroki/config";

export default {
  extends: Teek,
  Layout: TeekLayoutProvider,
  // 🔽 新增MD的tabs选项卡插件 🔽
  enhanceApp({ app }: { app: App }) {
    enhanceAppWithTabs(app);

    // 注册全局组件
    app.component("friend-link", SLink);

    // 全局注入安全工具
    app.config.globalProperties.$ls = ls;
    app.config.globalProperties.$ss = ss;

    // 🔽 激活 Shiroki 样式与功能
    activateShiroki(app);
  },

  setup: () => {
    // 🔽 新增复制文本横幅提示功能 🔽
    // 🔽 关闭此功能，删掉/注释代码🔽
    // 🔽 同时记得在最上方的  , { useCopyBanner } 引入名称，删掉，包含逗号哦 🔽
    useCopyBanner();
  },
};
